package com.myBlog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.myBlog.domain.ResponseResult;
import com.myBlog.domain.dto.MenuDTO;
import com.myBlog.domain.entity.Menu;

import java.util.List;


/**
 * 菜单权限表(Menu)表服务接口
 *
 * @author makejava
 * @since 2023-03-19 10:10:41
 */
public interface MenuService extends IService<Menu> {

     List<String> selectPermsUserId(Long id);

    List<Menu> selectRouterMenuTreeByUserId(Long userId);

    /**
     * 菜单列表
     * @param menuName
     * @param status
     * @return
     */
    ResponseResult list(String menuName, String status);

    /**
     * 添加菜单
     * @param menuDTO
     * @return
     */
    ResponseResult addMenu(MenuDTO menuDTO);

    /**
     * 根据id查询菜单信息
     *
     * @param menuId
     * @return
     */
    ResponseResult getMenuInfo(Long menuId);

    /**
     * 修改菜单
     * @param menuDTO
     * @return
     */
    ResponseResult updateMenu(MenuDTO menuDTO);

    /**
     * 根据id删除菜单
     * @param menuId
     * @return
     */
    ResponseResult deleteMenu(Long menuId);

    /**
     * 根据id查询权限菜单
     * @param roleId
     * @return
     */
    ResponseResult roleMenuTreeSelect(Long roleId);

    /**
     * 查询菜单列表
     * @param menu
     * @return
     */
    List<Menu> selectMenuList(Menu menu);

    /**
     * 新增角色
     * @return
     */
    ResponseResult getMenuTree();
}

